package com.wande.dataplatform.domain;

import com.baomidou.mybatisplus.annotation.*;
import com.wande.common.mybatis.core.domain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * 大屏设计对象 dp_screen
 *
 * @author wande
 */
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("dp_screen")
public class Screen extends BaseEntity {

    /**
     * 主键ID
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 租户ID
     */
    private Long tenantId;

    /**
     * 大屏名称
     */
    private String name;

    /**
     * 大屏描述
     */
    private String description;

    /**
     * 大屏类型: CUSTOM-自定义, TEMPLATE-模板
     */
    private String screenType;

    /**
     * 大屏宽度(px)
     */
    private Integer width;

    /**
     * 大屏高度(px)
     */
    private Integer height;

    /**
     * 背景配置(JSON): 颜色、图片、渐变等
     */
    private String backgroundConfig;

    /**
     * 组件配置(JSON): 图表、文本、图片等组件列表
     */
    private String componentConfig;

    /**
     * 布局配置(JSON): 组件位置、大小、层级等
     */
    private String layoutConfig;

    /**
     * 数据源配置(JSON): 数据源绑定关系
     */
    private String datasourceConfig;

    /**
     * 刷新间隔(秒), 0表示不自动刷新
     */
    private Integer refreshInterval;

    /**
     * 状态: DRAFT-草稿, PUBLISHED-已发布, OFFLINE-已下线
     */
    private String status;

    /**
     * 发布URL
     */
    private String publishUrl;

    /**
     * 预览URL
     */
    private String previewUrl;

    /**
     * 所属项目ID
     */
    private Long projectId;
}
